/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ejemplo.controller;

import com.ejemplo.entity.Producto;
import com.ejemplo.entity.Tercero;
import com.ejemplo.entity.Usuario;
import com.ejemplo.servicios.ServicioOperacionesProductoInterface;
import com.ejemplo.servicios.ServicioOperacionesTercerosInterface;
import com.ejemplo.servicios.ServicioOperacionesUsuarioInterface;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;

/**
 *
 * @author CARLOS
 */
@Controller
public class ControladorPRincipal {

    
    @Autowired
    ServicioOperacionesTercerosInterface servicioTercero;
    ServicioOperacionesProductoInterface servicioProducto;
    @Autowired
    ServicioOperacionesUsuarioInterface servicioUsuario;
    
//    @RequestMapping(value = "/index.htm", method = RequestMethod.GET)
//    public String home() {
//       
//        return "inicio";
//    }
    @RequestMapping(value = "/index.htm",method = RequestMethod.GET)
    public ModelAndView Iniciar(){
        ModelAndView mv=new ModelAndView("inicio");
        Usuario u = new Usuario();
        mv.addObject("usuarioBB", u);
        mv.addObject("lista_sede",servicioUsuario.listarSedes());

        return mv;
    }
    @RequestMapping(value = "ReporteTercero.htm",method = RequestMethod.GET)
    public ModelAndView terceroListar(){
        ModelAndView mv=new ModelAndView("frmterceroreporte");
        mv.addObject("lista_terceros", servicioTercero.listarTerceros());
        return mv;
    }
    
    @RequestMapping(value = "verificar_ingreso.htm",method = RequestMethod.POST)
    public ModelAndView ValidarIngreso(@RequestParam("usuario") String usuario,@RequestParam("codsede") Integer codsede,@RequestParam("password") String password){
        ModelAndView mv;
        
        if(servicioUsuario.validarUsuario(usuario, codsede, password)){
            mv=new ModelAndView("frmPrincipal");
            mv.addObject("usuario", usuario);
        } 
        else{
            mv=new ModelAndView("inicio");
            Usuario u = new Usuario();
            mv.addObject("usuario", usuario);
            mv.addObject("usuarioBB", u);
            mv.addObject("lista_sede",servicioUsuario.listarSedes());
            
        }
        
        return mv;
    }
    @RequestMapping(value = "principal.htm",method = RequestMethod.GET)
    public ModelAndView irInicioLogeado(){
        ModelAndView mv=new ModelAndView("frmPrincipal");
        
        return mv;
    }
    @RequestMapping(value = "ingresar_NotaIngreso.htm",method = RequestMethod.GET)
    public ModelAndView NIingresar(){
        ModelAndView mv=new ModelAndView("frmniingresar");
     
        Tercero t = new Tercero();
        mv.addObject("niBB", t);

        return mv;
    }
    @RequestMapping(value = "IngresarT.tx",method = RequestMethod.GET)
    public ModelAndView terceroingresar(){
        ModelAndView mv=new ModelAndView("frmterceroingresar");
         mv.addObject("PageTitle","Ingresar Tercero");
        Tercero t = new Tercero();
        mv.addObject("terceroBB", t);

        return mv;
    }
    
  
    
    @RequestMapping(value = "procesa_insertar_Tercero.htm", method = RequestMethod.POST)
    public ModelAndView procesaInsertarTrabajador(@ModelAttribute Tercero tr) {
        
        boolean b = servicioTercero.insertarActualizaTercero(tr);
        System.out.println("sss--" + b);
        ModelAndView mv;
        if (b ){
             mv=new ModelAndView("frmterceroreporte");
             mv.addObject("lista_terceros", servicioTercero.listarTerceros());
        return mv;
        }
        else {
            mv = new ModelAndView("error");
        }
        
        return mv;
    }
    
    
    @RequestMapping(value = "productoingresar.htm",method = RequestMethod.GET)
    public ModelAndView productoingresar(){
        ModelAndView mv=new ModelAndView("productoingresar");
         mv.addObject("PageTitle","Ingresar Producto");
        Producto t = new Producto();
        mv.addObject("terceroBB", t);

        return mv;
    }
    
    
    
    @RequestMapping(value = "procesa_insertar_Producto.htm", method = RequestMethod.POST)
    public ModelAndView procesaInsertarProducto(@ModelAttribute Producto tr) {
        
        boolean b = servicioProducto.insertarActualizaProducto(tr);
        System.out.println("sss--" + b);
        ModelAndView mv;
        if (b ){
             mv = new ModelAndView("exito");
        }
        else {
            mv = new ModelAndView("error");
        }
                
        
        
        return mv;
    }
 
}
